The present invention generally relates to computers and computing and, more particularly, to natural language interfaces (NLI) for user interfacing with computing devices to interact with computer applications, for example, database programs, on such devices or interconnected devices, by inputting stated questions or commands in natural language, such as English language and grammar, to which the devices and applications respond.
Computational linguistics and natural language processing are rather specialized computing disciplines that relate to the computer user and his ability and mode of communication with computing devices. In the sub-area of natural language processing, more specific areas of research and development include information retrieval from text (for example, using keywords as in conventional search engines, such as Google™); question answering from databases, knowledgebases, or text (for example, linguistically motivated techniques using grammars and lexicons but also pattern-based techniques); natural language generation; natural language translation; text-to-speech; speaker recognition; ontologies (such as, for example, Wordnet™), and conversational analysis. A natural language interface (NLI), as the name implies, is a particular mode or method of user interaction with a computing device or devices in which the user employs natural language, such as the English language and grammar, to communicate inputs, for example, queries and commands, to the devices and applications of the devices. NLIs can often be desired modes for communicating with computing devices, software applications, and related hardware and software components, depending on the particular application or discipline for the devices and in the case of experienced as well as less-sophisticated users.
Certain types of natural language interfaces are conventional. In the conventional NLIs, the user types or speaks unconstrained commands (including queries) with the expectation that the system will understand the speech acts and take the desired action (e.g., return an answer). As can be understood, there are limitations to the capabilities of the conventional NLIs. For example, computing power and features have not previously been adequate to encompass all possible variations and uses of language and grammar. Moreover, the tremendously large numbers and variables of words, contexts, and meanings with any natural language are nearly impossible to accurately process under all applicable language rules and variations.
Because of the limitations of computing and NLIs in the past, computing users who interface using NLIs have typically not fully understood the limited scope and capabilities, or “coverage”, of the particular NLIs (such as, in terms of the subset of natural language a system understands, typically delimited by lexical, semantic, grammatical, and domain coverage boundaries). Consequently, NLI commands and language are often not fully or properly interpreted or understood by the NLI or computing system having such interface, and the user likely will not have sufficient command of the natural language subset and limitations of the NLI and extensive training or learning can be required in order to make appropriate and desired use of capabilities of the NLI and related system. The NLIs have not necessarily made interfacing more inherently understandable or easier to the user. In other words, the typical user of natural language commands and NLIs for interfacing with computing devices can risk overshooting or undershooting the underlying application system's capabilities, because of the limitations of those capabilities with the present states of computing capacity and technologies and because of the limits of the user's knowledge and understanding.
In addition to the implications to computing users who interface via NLIs, computer and software developers of NLIs for applications have the overwhelming and virtually impossible task of defining a large number of all possible words, grammar rules, and domain translations necessary in efforts to increase NLI coverage. Because of the magnitude of the efforts in such development, NLI creation is an expensive process, even to retarget from one database to another. All conventional NLIs have limited and mismatch of coverage problems. In the past, this has often caused users who experience the coverage problems to grow frustrated, and fail to make full use or entirely discontinue use of conventional NLIs.
Previously, NLIs have generally been delivered with a set of limited form or “canned” example queries. Users of the NLIs have been encouraged to use these examples or only slight variations thereof to obtain satisfactory results. Nonetheless, these example queries, even if only slightly varied, often tend to interfacing failures or unexpected or incorrect results. Several conventional NLI products include: Microsoft Easy Query™, ELF™, and iPhrase™. No doubt, there are other conventional NLIs and other NLI products. All such known NLI technologies have been limited, however, in acceptability to few useful applications and to very narrow and simple applications in any event, and none have become pervasively used or available in the industry. This is the result of the problems of the conventional NLIs.
Of particular note in the early 1980's, Texas Instruments developed the so-called “NLMenu” system, a natural language interface technology that sought to address certain of the foregoing problems of NLIs. NLMenu employed substantially the same grammar, lexicon, and parsing found in all other NLI systems at the time and even those conventional to date. One nuance at the time of the NLMenu system was that the typical parser was modified in the system to parse a partial sentence and, then, predictively find all next legal completions (i.e., the acceptable next words or phrases under the NLMenu interface lexicon and grammar) and display these legal completions in a constellation menu (i.e., a menu displayed to the user that lists all next lexical choices organized by grammatical category). The user was then able to select from the constellation menu a next word or phrase in the menu, which word or phrase was an appropriate legal completion of the particular natural language input sentence, query, command or other sequence. The NLMenu system is described in U.S. Pat. No. 4,829,423, and certain additional aspects are described in U.S. Pat. Nos. 4,688,195 and 5,083,268.
As with the other conventional NLIs, the NLMenu system presented many of the problems previously described. Moreover, the NLMenu system is quite limited in that it is a single-user system in which constellation menus are displayed on the user's computing device and interact with a single, complex full-featured parser. The constellation menus show a single screen-shot of the user's display of the entire lexicon useable by the user to interface in the natural language, but this is a disadvantage because the menus occupy considerable screen area of the user's display and often obscure other entities or features displayed on the screen that can be the subject of the user's efforts in lodging a natural language query. Switching among and moving features around on the screen of the display can be inconvenient for the user. Furthermore, the parser of the NLMenu system is full-featured and so useful for various situations, but in many instances the parser is excessive in features and cumbersome (i.e., overkill) where alternative and simpler kinds of parsers are more useful and practical. In general, the NLMenu system has been useable for certain applications, but not others. Particularly, the system is not particularly effective for use in present computing environments, in which scalability, multi-user capability, wide area and remote geographic networking, and reduced or “thin client” hardware and software is desired.
The present invention overcomes these and other problems of the prior technology.